home *** CD-ROM | disk | FTP | other *** search
-
-
- @class List;
-
- // Patch.h Peter Wickersham
- //
- // Patch : Shape : N3DShape : Object
- //
- // Patch is a Geometry object for drawing Bicubic Patchs within
- // 3DReailty using RenderMan function calls. A Patch is defined by it's
- // 16 control points which form a simple tensor product surface. Therefore,
- // within 3DReality a Patch consists of a List of 16 control point shapes
- // which appear as descendents of a Patch in the hierarchy. They present
- // themselves to the user as normal 3DReality spheres which may be manipulated
- // as any other object in the window may, but have the added effect of
- // changing the Patch which depends on them.
-
- @interface Patch : Shape
- {
- id controlPts; // List of control point objects
- int uBasis; // The basis matrix in u parameter space
- RtBasis theUBasis; // The actual basis matrix
- int vBasis; // The basis matrix in v parameter space
- RtBasis theVBasis; // The actual basis matrix
- BOOL showCtlPoints; // Show control points?
- BOOL showHull; // Show control hull?
- int uStep; // Step values for evaluation window
- int vStep; // Step values for evaluation window
- }
-
- // Initialization of the Patch object
- - init;
-
- // Methods for getting/setting values of instance variables
- - (BOOL) hullVisible;
- - setHullVisible:(BOOL) flag;
-
- - (BOOL)controlVisible;
- - setControlVisible:(BOOL)flag;
-
- - (int)uBasis;
- - setUBasis:(int)theU;
-
- - (int)vBasis;
- - setVBasis:(int)theV;
-
- @end